/**
 * Created by zhengjia on 14/12/10.
 */
/**
 *
 * @param formId 检查的form的id
 * @param selectNum 选择个数
 * @param isFull 是否要选择满，例：isFull=true时，至少选择3个，就必须选择3个，选1，2个都是不行的。
 * @constructor
 */
function Vote(formId,minParam,maxParam)
{
    var vForm = $(formId);
    var min = 1;
    var max=1;

    if(minParam !="" && !isNaN(minParam))
    {
        min = minParam;
    }

    if(maxParam !="" && !isNaN(maxParam))
    {
        max = maxParam;
    }

    //检查是否选择了，并且选择的个数是否正确
    //返回一个{}对象，例如{status:true,data:{id:"1",values:"1,2,3"}}
    // {status:"false",msg:"请检查formid"}
    // 有且仅当返回status = true代表正确了,data则是需要提交到服务器的数据
    // status = false时，代表检查未通过，可以对msg进行输出提醒
    this.checkAndGetDate = function(){
        var ret = {};
        var status = false;
        var data = "";
        var msg = "";
        var url = "";
        if(vForm)
        {
            //获得所有的被选中checkbox
            //然后比较个数，就能判断是否符合标准
            var length = vForm.find("input[type='checkbox']:checked").length;
            if(length == 0)
            {
                msg = "请至少选择一个";
                status=false;
            }else if(length<min){
                msg = "最少选择"+min+"个";
                status=false;
            }
            else if(length > max)
            {
                msg = "最多选择"+max+"个";
                status=false;
            }else{
                status=true;
            }

            if(status)
            {
                data = vForm.serializeArray();
                url = vForm.attr("action");
            }

        }
        ret.url = url ;
        ret.status = status;
        ret.data = data;
        ret.msg = msg;
        return ret;
    }
}
